package org.deschutter.hibernate;

import javax.persistence.*;
import java.math.BigDecimal;

/**
 * User: Berten De Schutter
 * Date: 01-Oct-2009
 * Time: 13:38:13
 */
@Entity
@Table(catalog = "scimitar", name = "development")
public class Development {
    private long id;


    private BigDecimal stravel;
    private BigDecimal lFactory;
    private BigDecimal infrastructure;
    private BigDecimal hulls;
    private BigDecimal waves;
    private BigDecimal coreExtracting;
    private BigDecimal covert_ops;
    private BigDecimal asteroidmining;
    private BigDecimal hFactory;
    private BigDecimal mFactory;
    private BigDecimal wAmp;
    private BigDecimal wDist;
    private BigDecimal mRefinery;
    private BigDecimal cRefinery;
    private BigDecimal eRefinery;
    private BigDecimal fCentre;
    private Scans scansByScanId;
    private BigDecimal rlab;
    private BigDecimal sCentre;

    @Basic
    @Column(name = "asteroidmining")
    public BigDecimal getAsteroidmining() {
        return asteroidmining;
    }

    public void setAsteroidmining(BigDecimal asteroidmining) {
        this.asteroidmining = asteroidmining;
    }

    @Basic
    @Column(name = "covert_ops")
    public BigDecimal getCovert_ops() {
        return covert_ops;
    }

    public void setCovert_ops(BigDecimal covert_ops) {
        this.covert_ops = covert_ops;
    }

    @Basic
    @Column(name = "core_extraxting")
    public BigDecimal getCoreExtracting() {
        return coreExtracting;
    }

    public void setCoreExtracting(BigDecimal coreExtracting) {
        this.coreExtracting = coreExtracting;
    }

    @Basic
    @Column(name = "waves")
    public BigDecimal getWaves() {
        return waves;
    }

    public void setWaves(BigDecimal waves) {
        this.waves = waves;
    }

    @Basic
    @Column(name = "hulls")
    public BigDecimal getHulls() {
        return hulls;
    }

    public void setHulls(BigDecimal hulls) {
        this.hulls = hulls;
    }


    @Basic
    @Column(name = "infrastructure")
    public BigDecimal getInfrastructure() {
        return infrastructure;
    }

    public void setInfrastructure(BigDecimal infrastructure) {
        this.infrastructure = infrastructure;
    }

    @Basic
    @Column(name = "s_travel")
    public BigDecimal getStravel() {
        return stravel;
    }

    public void setStravel(BigDecimal stravel) {
        this.stravel = stravel;
    }

    @Id
    @Column(name = "ID")
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }


    @Basic
    @Column(name = "l_factory")
    public BigDecimal getLfactory() {
        return lFactory;
    }

    public void setLfactory(BigDecimal lFactory) {
        this.lFactory = lFactory;
    }


    @Basic
    @Column(name = "m_factory")
    public BigDecimal getMfactory() {
        return mFactory;
    }

    public void setMfactory(BigDecimal mFactory) {
        this.mFactory = mFactory;
    }


    @Basic
    @Column(name = "h_factory")
    public BigDecimal getHfactory() {
        return hFactory;
    }

    public void setHfactory(BigDecimal hFactory) {
        this.hFactory = hFactory;
    }


    @Basic
    @Column(name = "w_amp")
    public BigDecimal getWamp() {
        return wAmp;
    }

    public void setWamp(BigDecimal wAmp) {
        this.wAmp = wAmp;
    }


    @Basic
    @Column(name = "w_dist")
    public BigDecimal getWdist() {
        return wDist;
    }

    public void setWdist(BigDecimal wDist) {
        this.wDist = wDist;
    }


    @Basic
    @Column(name = "m_refinery")
    public BigDecimal getMrefinery() {
        return mRefinery;
    }

    public void setMrefinery(BigDecimal mRefinery) {
        this.mRefinery = mRefinery;
    }


    @Basic
    @Column(name = "c_refinery")
    public BigDecimal getCrefinery() {
        return cRefinery;
    }

    public void setCrefinery(BigDecimal cRefinery) {
        this.cRefinery = cRefinery;
    }


    @Basic
    @Column(name = "e_refinery")
    public BigDecimal getErefinery() {
        return eRefinery;
    }

    public void setErefinery(BigDecimal eRefinery) {
        this.eRefinery = eRefinery;
    }


    @Basic
    @Column(name = "f_centre")
    public BigDecimal getFcentre() {
        return fCentre;
    }

    public void setFcentre(BigDecimal fCentre) {
        this.fCentre = fCentre;
    }


    @Basic
    @Column(name = "s_centre")
    public BigDecimal getScentre() {
        return sCentre;
    }

    public void setScentre(BigDecimal sCentre) {
        this.sCentre = sCentre;
    }


    @Basic
    @Column(name = "r_lab")
    public BigDecimal getRlab() {
        return rlab;
    }

    public void setRlab(BigDecimal rlab) {
        this.rlab = rlab;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Development that = (Development) o;

        if (id != that.id) return false;

        return true;
    }

    @Override
    public int hashCode() {
        return (int) (id ^ (id >>> 32));
    }


    @ManyToOne
    @JoinColumn(name = "scan_id", referencedColumnName = "ID", nullable = false)
    public Scans getScansByScanId() {
        return scansByScanId;
    }

    public void setScansByScanId(Scans scansByScanId) {
        this.scansByScanId = scansByScanId;
    }
}
